﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MWRCommunicationLibrary.ARS408
{
    public class Out_RadarState : MWRData
    {
        public override int DefaultCanID
        {
            get
            {
                return 0x201;
            }
        }
        public override int Length
        {
            get
            {
                return 8;
            }
        }

        [ParamDecodor(6, 1)]
        public bool NVMReadStatus { get; set; }

        [ParamDecodor(7, 1)]
        public bool NVMwriteStatus { get; set; }

        [ParamDecodor(22, 10, 2, 0)]
        public int MaxDistance { get; set; }

        [ParamDecodor(21, 1)]
        public bool Persistent_Error { get; set; }

        [ParamDecodor(20, 1)]
        public bool Interference { get; set; }

        [ParamDecodor(19, 1)]
        public bool Temperature_Error { get; set; }

        [ParamDecodor(18, 1)]
        public bool Temporary_Error { get; set; }

        [ParamDecodor(17, 1)]
        public bool Voltage_Error { get; set; }

        [ParamDecodor(32, 3)]
        public int SensorID { get; set; }

        [ParamDecodor(36, 3)]
        public int SortIndex { get; set; }

        [ParamDecodor(39, 3)]
        public int RadarPowerCfg { get; set; }

        [ParamDecodor(41, 1)]
        public bool CtrlRelayCfg { get; set; }

        [ParamDecodor(42, 2)]
        public int OutputTypeCfg { get; set; }

        [ParamDecodor(44, 1)]
        public bool SendQualityCfg { get; set; }

        [ParamDecodor(45, 1)]
        public bool SendExtInfoCfg { get; set; }

        [ParamDecodor(46, 2)]
        public int MotionRxState { get; set; }

        [ParamDecodor(58, 3)]
        public bool RCS_Threshold { get; set; }
    }
}
